🧩 Swift에서 Tuple과 Enum 사용법 배우기
안녕하세요! 😊 이번 시간에는 Swift에서 아주 유용하게 쓰이는 두 가지 개념,
바로 튜플(Tuple) 과 열거형(Enum) 에 대해 배워보겠습니다.
이 두 가지를 잘 활용하면,
여러 개의 값을 한 번에 다루거나, 선택지를 깔끔하게 정리할 수 있어요!
📦 1. Tuple (튜플) – 여러 값을 하나로 묶기
✅ 튜플이란?
튜플(Tuple) 은 여러 개의 값을 하나로 묶어서 저장할 수 있는 구조입니다.
예를 들어, 이름과 나이를 같이 저장하고 싶을 때 이렇게 쓸 수 있어요:
let person = ("Jiyoo", 12)
print("이름: \(person.0), 나이: \(person.1)")
출력 결과:
이름: Jiyoo, 나이: 12
-
person.0 → 첫 번째 값
-
person.1 → 두 번째 값
✅ 이름 붙인 튜플 사용하기
튜플 안의 값에 이름(label) 을 붙이면 훨씬 보기 좋고 이해하기 쉬워요!
let student = (name: "Minjun", grade: 6)
print("\(student.name) 학생은 \(student.grade)학년입니다.")
출력 결과:
Minjun 학생은 6학년입니다.
✅ 함수에서 여러 값 반환할 때도 좋아요!
func getUserInfo() -> (name: String, age: Int) {
return ("Sujin", 14)
}
let user = getUserInfo()
print("사용자 이름: \(user.name), 나이: \(user.age)")
🎨 2. Enum (열거형) – 선택지를 정리하는 방법
✅ Enum이란?
열거형(Enum) 은 정해진 선택지 중 하나를 고를 때 사용하는 타입입니다.
예를 들어, 날씨를 표현해볼까요?
enum Weather {
case sunny
case rainy
case cloudy
}
이제 날씨를 변수로 저장할 수 있어요:
let today = Weather.sunny
✅ switch문과 함께 사용하기
enum은 switch문과 같이 쓰면 아주 유용해요!
switch today {
case .sunny:
print("오늘은 맑아요 ☀️")
case .rainy:
print("비가 와요 🌧️")
case .cloudy:
print("흐림이에요 ☁️")
}
✅ Raw Value(기본 값) 사용하기
enum 값에 문자열이나 숫자를 연결할 수도 있어요:
enum Direction: String {
case north = "북쪽"
case south = "남쪽"
case east = "동쪽"
case west = "서쪽"
}
let dir = Direction.east
print("우리는 \(dir.rawValue)으로 가고 있어요.")
출력 결과:
우리는 동쪽으로 가고 있어요.
🔢 Int 타입의 Enum 예제
Swift에서는 enum에 기본값(Raw Value)을 Int로 설정할 수 있어요.
예를 들어, 요일을 숫자로 표현하고 싶다면 이렇게 만들 수 있습니다:
enum Weekday: Int {
case sunday = 1
case monday
case tuesday
case wednesday
case thursday
case friday
case saturday
}
사용 예시:
let today = Weekday.friday
print("오늘은 금요일이고, 숫자로는 \(today.rawValue)입니다.")
출력 결과:
오늘은 금요일이고, 숫자로는 6입니다.
💡 참고:
-
sunday에 1을 지정하면, 이후 값들은 자동으로 +1씩 증가합니다.
-
rawValue를 통해 enum 값에 연결된 숫자(Int)를 가져올 수 있습니다.
필요하다면 rawValue로 enum을 다시 만들 수도 있어요:
if let day = Weekday(rawValue: 3) {
print("3은 \(day) 요일입니다.")
}
✨ 마무리하며
오늘은 Swift에서 아주 자주 쓰이는 두 가지 도구를 배웠어요:
✅ Tuple
-
여러 개의 값을 하나로 묶을 수 있어요
-
순서 또는 이름으로 값을 꺼낼 수 있어요
-
함수의 반환값으로도 유용해요
✅ Enum
-
정해진 선택지 중 하나를 저장할 수 있어요
-
switch문과 함께 쓰면 깔끔하고 안정적이에요
-
문자열 등 기본값(raw value)도 붙일 수 있어요
튜플은 “함께 다뤄야 할 값들을 하나로 묶을 때”,
열거형은 “정해진 선택지 중 하나를 고를 때” 사용하면 정말 유용합니다!
댓글 쓰기